In changeset 19990:
38dd208e1d95 a new parameter 'env' was added to
xPopen3, but no code was added to actually pass the environment down to
execvpe. Also, the new code was unreachable.
Signed-off-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
os.dup2(c2pwrite, 1)
if capturestderr:
os.dup2(errin, 2)
- self._run_child(cmd)
+ self._run_child(cmd, env)
os.close(p2cread)
self.tochild = os.fdopen(p2cwrite, 'w', bufsize)
os.close(c2pwrite)
self.childerr = None
_active.append(self)
- def _run_child(self, cmd):
+ def _run_child(self, cmd, env):
if isinstance(cmd, basestring):
cmd = ['/bin/sh', '-c', cmd]
for i in range(3, MAXFD):
except OSError:
pass
try:
- os.execvp(cmd[0], cmd)
if env is None:
os.execvp(cmd[0], cmd)
else: